En el siguiente ejercicio vamos a generar ciertos indicadores estadisticos para la validacion de las salidas de informacion de la aplicacion climMAPcore
Los valores a comparar son el valor diario de la estacion vs el valor del modelo WRF. La base que se utilizara se encuentra en la carpeta data de nombre dataFromAguascalientestTest.csv la cual incluye los siguientes campos:
In [1]:
# librerias
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.formula.api as sm
%matplotlib inline
plt.style.use('ggplot')
In [2]:
# leer archivo
data = pd.read_csv('../data/dataFromAguascalientestTest.csv')
In [3]:
# verificar su contenido
data.head()
Out[3]:
In [4]:
# diferencia entre valores de precipitacion, humedad relativa y temperatura promedio
data['diffRain'] = data['Rain'] - data['RainWRF']
data['diffHr'] = data['Hr'] - data['HrWRF']
data['diffTpro'] = data['Tpro'] - data['TproWRF']
In [5]:
# verificar contenido
data.head()
Out[5]:
In [11]:
# histograma de diferencias Hr
data['diffHr'].hist()
Out[11]:
In [22]:
# comportamiento de los datos por mes
data.groupby(['Month']).mean()[['Hr','HrWRF']]
Out[22]:
In [21]:
# visualizar los datos en grafica
data.groupby(['Month']).mean()[['Hr','HrWRF']].plot.bar()
Out[21]:
In [12]:
# histograma de diferencias Tpro
data['diffTpro'].hist()
Out[12]:
In [23]:
# comportamiento de los datos por mes
data.groupby(['Month']).mean()[['Tpro','TproWRF']]
Out[23]:
In [20]:
# visualizar los datos en grafica
data.groupby(['Month']).mean()[['Tpro','TproWRF']].plot.bar()
Out[20]:
In [15]:
# histograma de diferencias Rain
data['diffRain'].hist()
Out[15]:
In [19]:
# comportamiento de los datos por mes
data.groupby(['Month']).mean()[['Rain','RainWRF']]
Out[19]:
In [18]:
# visualizar los datos en grafica
data.groupby(['Month']).mean()[['Rain','RainWRF']].plot.bar()
Out[18]:
In [25]:
# librerias seabron as sns
import seaborn as sns
In [36]:
# Hr
sns.lmplot(x='Hr',y='HrWRF',data=data, col='Month', aspect=0.6, size=8)
Out[36]:
In [31]:
# Tpro
sns.lmplot(x='Tpro',y='TproWRF',data=data, col='Month', aspect=0.6, size=8)
Out[31]:
In [32]:
# Rain
sns.lmplot(x='Rain',y='RainWRF',data=data, col='Month', aspect=0.6, size=8)
Out[32]:
In [37]:
# Rain polynomial regression
sns.lmplot(x='Rain',y='RainWRF',data=data, col='Month', aspect=0.6, size=8, order=2)
Out[37]:
In [42]:
# Hr
sns.jointplot("Hr", "HrWRF", data=data, kind="reg")
Out[42]:
In [38]:
# Tpro
sns.jointplot("Tpro", "TproWRF", data=data, kind="reg")
Out[38]:
In [39]:
# Rain
sns.jointplot("Rain", "RainWRF", data=data, kind="reg")
Out[39]:
In [44]:
# HR
result = sm.ols(formula='HrWRF ~ Hr', data=data).fit()
In [47]:
print(result.params)
In [48]:
print(result.summary())
In [52]:
# Tpro
result = sm.ols(formula='TproWRF ~ Tpro', data=data).fit()
In [53]:
print(result.params)
In [54]:
print(result.summary())
In [55]:
# Rain
result = sm.ols(formula='RainWRF ~ Rain', data=data).fit()
In [56]:
print(result.params)
In [57]:
print(result.summary())
In [59]:
# Hr
sns.distplot(data['diffHr'])
Out[59]:
In [64]:
# Tpro
sns.distplot(data['diffTpro'])
Out[64]:
In [65]:
# Rain
sns.distplot(data['diffRain'])
Out[65]:
In [ ]: